﻿using GISforTT_API;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Windows;
using TouchToolkit.Framework;
using ESRI.ArcGIS.Client.Geometry;

namespace GISforTT_Test
{
    
    
    /// <summary>
    ///This is a test class for BackgroundMapLayerTest and is intended
    ///to contain all BackgroundMapLayerTest Unit Tests
    ///</summary>
    [TestClass()]
    public class BackgroundMapLayerTest
    {


        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        // 
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion


        /// <summary>
        ///A test for BackgroundMapLayer Constructor
        ///</summary>
        [TestMethod()]
        [DeploymentItem("GISforTT_API.dll")]
        public void BackgroundMapLayerConstructorTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor();
            Assert.Inconclusive("TODO: Implement code to verify target");
        }

        /// <summary>
        ///A test for AddBookmarkListFrame
        ///</summary>
        [TestMethod()]
        public void AddBookmarkListFrameTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
            Point pt = new Point(); // TODO: Initialize to an appropriate value
            double orientation = 0F; // TODO: Initialize to an appropriate value
            BookmarkListFrame expected = null; // TODO: Initialize to an appropriate value
            BookmarkListFrame actual;
            actual = target.AddBookmarkListFrame(pt, orientation);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for AddMapFrame
        ///</summary>
        [TestMethod()]
        public void AddMapFrameTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
            MapFrame mFrame = null; // TODO: Initialize to an appropriate value
            target.AddMapFrame(mFrame);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for AddMapTip
        ///</summary>
        [TestMethod()]
        public void AddMapTipTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
            BookmarkInfoTip mapTip = null; // TODO: Initialize to an appropriate value
            Point screen_point = new Point(); // TODO: Initialize to an appropriate value
            double orientation = 0F; // TODO: Initialize to an appropriate value
            target.AddMapTip(mapTip, screen_point, orientation);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for AddSearchBox
        ///</summary>
        [TestMethod()]
        public void AddSearchBoxTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
            Point loc = new Point(); // TODO: Initialize to an appropriate value
            target.AddSearchBox(loc);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        ///// <summary>
        /////A test for BackgroundMapLayer_Lasso
        /////</summary>
        //[TestMethod()]
        //[DeploymentItem("GISforTT_API.dll")]
        //public void BackgroundMapLayer_LassoTest()
        //{
        //    BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
        //    UIElement sender = null; // TODO: Initialize to an appropriate value
        //    GestureEventArgs e = null; // TODO: Initialize to an appropriate value
        //    target.BackgroundMapLayer_Lasso(sender, e);
        //    Assert.Inconclusive("A method that does not return a value cannot be verified.");
        //}

        /// <summary>
        ///A test for BackgroundMap_Loaded
        ///</summary>
        [TestMethod()]
        [DeploymentItem("GISforTT_API.dll")]
        public void BackgroundMap_LoadedTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
            object sender = null; // TODO: Initialize to an appropriate value
            RoutedEventArgs e = null; // TODO: Initialize to an appropriate value
            target.BackgroundMap_Loaded(sender, e);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        
        /// <summary>
        ///A test for GetMapFrame
        ///</summary>
        [TestMethod()]
        public void GetMapFrameTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
            Bookmark bookmark = null; // TODO: Initialize to an appropriate value
            MapFrame expected = null; // TODO: Initialize to an appropriate value
            MapFrame actual;
            actual = target.GetMapFrame(bookmark);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        
        /// <summary>
        ///A test for InitializeBackgroundMap
        ///</summary>
        [TestMethod()]
        [DeploymentItem("GISforTT_API.dll")]
        public void InitializeBackgroundMapTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
            Envelope extent = new Envelope(-114.25, 51.00, -113.88, 51.05);
            target.InitializeBackgroundMap(extent);
            // TODO: figure out how to test the extent
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for RemoveBookmarkListFrame
        ///</summary>
        [TestMethod()]
        public void RemoveBookmarkListFrameTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
            BookmarkListFrame deleteFrame = null; // TODO: Initialize to an appropriate value
            target.RemoveBookmarkListFrame(deleteFrame);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for RemoveMap
        ///</summary>
        [TestMethod()]
        public void RemoveMapTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
            MapFrame deleteMap = null; // TODO: Initialize to an appropriate value
            target.RemoveMap(deleteMap);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }


        
        /// <summary>
        ///A test for setWidthAndHeight
        ///</summary>
        [TestMethod()]
        public void setWidthAndHeightTest()
        {
            BackgroundMapLayer_Accessor target = new BackgroundMapLayer_Accessor(); // TODO: Initialize to an appropriate value
            double width = 0F; // TODO: Initialize to an appropriate value
            double height = 0F; // TODO: Initialize to an appropriate value
            target.setLayoutProperties(width, height, System.Windows.Controls.Orientation.Vertical);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

     }
}
